iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
自我挑戰組

從0開始的UnityAR手機遊戲開發系列 第 22

[第二十二天]從0開始的UnityAR手機遊戲開發-APP內擷取畫面

  • 分享至 

  • xImage
  •  

在玩AR APP時都有一個拍照功能,本次章節會介紹如何撰寫Unity的截圖功能

先在Project新增一個C# Sprite並命名為Photo
打開Photo撰寫程式碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Photo : MonoBehaviour
{

    [Header("檔案名稱")]
    public string FileName;
    int FileNumber;
    [Header("APP上的UI")]
    public GameObject[] UIs;

    public void CapturePhoto() {
        //先將UI全部關閉
        for (int i = 0; i < UIs.Length; i++) {
            UIs[i].SetActive(false);
        }
        //每按一次按鈕FileNumber會+1
        FileNumber += 1;
        //圖片名稱為IThomeAR + FileNumber.png
        FileName = "IThomeAR" + FileNumber + ".png";
        //截圖的程式碼
        ScreenCapture.CaptureScreenshot(Application.persistentDataPath + FileName);
        //2秒後執行打開UI的函式
        Invoke("openUI", 2);
    }
    void openUI() {
        //將UI全部開啟
        for (int i = 0; i < UIs.Length; i++)
        {
            UIs[i].SetActive(true);
        }
    }
}

在Hierarchy新增一個Button並將Text改為拍照。
將Photo腳本拖曳給EventSystem,點擊EventSystem打開Inspector在Photo裡有個UIs把Size改為Canvas下有在畫面上的UI數量,像下圖中有父物件包著多個Button的話只要拉父物件到UIs就可以了
https://ithelp.ithome.com.tw/upload/images/20211006/20140569eHgPZxntpO.png

點擊新增的Button打開Inspector點擊OnClick()+號把EventSystem拖曳到GameObject(None)選擇Photo→CapturePhoto
https://ithelp.ithome.com.tw/upload/images/20211006/20140569xY10Ed3az0.png

按下執行鍵後點擊拍照就會有照片在電腦裡囉
https://ithelp.ithome.com.tw/upload/images/20211006/20140569lzLhsbdC4d.png

電腦拍照後所擷取的路徑在C:\Users\user\AppData\LocalLow\DefaultCompany
如果找不到截圖路徑的話可以參考這篇
https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html


下一章節會教大家如何在APP開啟網站


上一篇
[第二十一天]從0開始的UnityAR手機遊戲開發-切換Animation動畫
下一篇
[第二十三天]從0開始的UnityAR手機遊戲開發-在APP開啟網站
系列文
從0開始的UnityAR手機遊戲開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言